Transform coding has proven to be an efficient means of coding a still image signal for transmission to a remote receiver. In accordance with a basic transform image coding algorithm, a still image is divided into small blocks of pixels. For example, each block of pixels may be an 8.times.8 or 16.times.16 block. Each block of pixels undergoes a two dimensional orthogonal transform to produce a two dimensional array of transform coefficients. For still image coding applications, the discrete cosine transform has emerged as the best orthogonal transform from the point of view of image compression and ease of implementation.
After a block of pixels undergoes a transform such as a discrete cosine transform, the resulting transform coefficients are subject to compression by thresholding and quantization. Thresholding involves setting all coefficients whose magnitude is smaller than a threshold value T equal to zero. In some thresholding processes, when a coefficient has a magnitude greater than T, T is subtracted if the coefficient is positive and T is added if the coefficient is negative. The DC transform coefficient may be excluded from the thresholding process. Quantization involves scaling a coefficient by a step size Q and rounding off to the nearest integer.
After compression, the compressed transform coefficients are then coded, for example, using a Huffman code, to form a bit stream for transmission to a remote receiver. The bit rate of the bit stream and the image quality of the block when received at a remote receiver depend on the compression parameters T and Q.
At the receiver, an inverse process occurs to reconstruct the original block of pixels. Thus, the received bit stream is decoded and the received quantized transform coefficients are expanded by the quantization step size. This may be viewed as an inverse quantization step. An inverse transform such as an inverse discrete cosine transform is then applied to the transform coefficients to reconstruct the block of pixels. In this manner an image is transmitted block by block from a transmitter to a receiver. Typically, there is no inverse thresholding step in the reconstruction process.
The conventional transform coding algorithm described above, treats every block of pixels equally without regard to the image content, i.e., each block is processed with the same compression parameters Q and T. The drawback of this is that the best tradeoff between bit rate and image quality cannot be achieved amongst a wide variety of images or amongst different blocks from the same image. A better tradeoff between bit rate and image quality can be achieved if blocks of pixels from a particular image with different attributes are processed differently (see e.g., "Scene Adaptive Codes", W. H. Chen et al, IEEE Transactions on Communications, VOL. COM.-32 No. 3, March 1984, pp. 225-231; M. Kaneko et al, "Improvements of Transform Coding Algorithms for Motion Compensated Interframe Prediction Errors-DCT/SQ Coding", IEEE J. Selected Areas in Communications, Vol. SAC-5, August 1987, pp. 1068-1078).
The human visual system can tolerate the degradation of some blocks of pixels, but cannot tolerate the degradation of other blocks of pixels. We have found that efficient use of transmission resources is realized when the blocks for which degradation can be tolerated are transmitted with a lower bit rate and the blocks for which degradation cannot be tolerated are transmitted with a higher bit rate to preserve information content.
It is therefore an object of the present invention to provide a transform coding algorithm for a still image in which each block of pixels is processed differently based on certain attributes of the block to achieve a better tradeoff between image quality and bit rate. In particular, it is an object of the present invention to provide a transform coding algorithm in which different blocks of pixels from an image are processed using different compression parameters, and thus transmitted with different bit rates, depending on how much degradation of the block can be tolerated by the human visual system when the block is received.